In many networking environments, multiple devices share a physical communication medium for transmitting data. For example, in some wireless networking environments (e.g., wireless local area networks implemented in accordance with one of the IEEE 802.11 standards) multiple devices share a fixed number of channels for transmitting data to one or more access points. As another example, in some wired networking environments (e.g., wired local area networks implemented in accordance with one of the IEEE 802.3 Ethernet standards), multiple devices share common wired links to transmit data.
Medium access control (MAC) techniques are used to regulate how devices in a networking environment access the physical communication medium they share. MAC techniques can be used to help reduce or eliminate collisions that result from multiple devices concurrently transmitting data over a shared physical communication medium.
Some conventional medium access control techniques are implemented using a distributed control scheme and, as such, are herein referred to as distributed MAC techniques. In one illustrative distributed MAC technique, when a device, sharing a physical communication medium with other devices, has data to transmit, the device attempts to transmit the data. If the device fails to successfully transmit the data (e.g., due to collisions with data transmitted by one or more other devices), the device can repeatedly attempt to re-transmit the data after waiting for successively increasing time periods. Waiting to transmit data for successively increasing time periods is sometimes referred to as a “back-off” scheme.
Some other conventional medium access control techniques are implemented using a centralized control scheme and, as such, are herein referred to as centralized MAC techniques. In one illustrative centralized control scheme, a controller device can poll multiple devices one at a time (e.g., in a round-robin fashion) to determine which of the polled devices have data to transmit. After determining which devices have data to transmit, the controller device can create a conflict-free transmission schedule, in which one device at a time transmits data, and provide the transmission schedule to the devices. In turn, the devices can transmit data in accordance with the transmission schedule.